package com.fengxu.gamescript.data.other;

import java.io.Serializable;
import java.util.Arrays;
import java.util.Date;

/**
 * 通用键位配置方案类
 */
public class KeyConfData implements Serializable {

    private static final long serialVersionUID = 001L;

    // 配置名
    private String name;

    // 键位行数
    private Integer row;

    // 键位列数
    private Integer column;

    // 键位点数
    private Point[] points;

    // 键位是否连续
    private boolean series = true;

    // 是否对高音采取降调措施
    private boolean abateHighVolume = true;

    // 配置项设置时间
    private Date createTime;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getRow() {
        return row;
    }

    public void setRow(Integer row) {
        this.row = row;
    }

    public Integer getColumn() {
        return column;
    }

    public void setColumn(Integer column) {
        this.column = column;
    }

    public Point[] getPoints() {
        return points;
    }

    public void setPoints(Point[] points) {
        this.points = points;
    }

    public boolean isSeries() {
        return series;
    }

    public void setSeries(boolean series) {
        this.series = series;
    }

    public boolean isAbateHighVolume() {
        return abateHighVolume;
    }

    public void setAbateHighVolume(boolean abateHighVolume) {
        this.abateHighVolume = abateHighVolume;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        return "KeyConfData{" +
                "name='" + name + '\'' +
                ", row=" + row +
                ", column=" + column +
                ", points=" + Arrays.toString(points) +
                ", series=" + series +
                ", abateHighVolume=" + abateHighVolume +
                ", createTime=" + createTime +
                '}';
    }
}
